home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_geomview.idb / usr / freeware / info / geomview-1.z / geomview-1
Encoding:
Text File  |  1999-01-26  |  49.5 KB  |  1,143 lines

  1. Info file: geomview,    -*-Text-*-
  2. produced by texinfo-format-buffer
  3. from file: geomview.tex
  4.  
  5.  
  6. 
  7. File: geomview  Node: Top, Up: (DIR), Next: What
  8.  
  9. * Menu:
  10.  
  11. * What::        What is Geomview?.
  12. * Authors::        The Authors of Geomview.
  13. * Register::        Let Us Hear From You.
  14. * Overview::        Overview of Geomview.
  15. * Tutorial::        Introductory Tutorial.
  16. * Interaction::        Interacting with Geomview.
  17. * OOGL File Formats::    Formats for Geometry Input.
  18. * Customization::    Modifying the behavior of Geomview.
  19. * Modules::        Programs that use Geomview for graphics display.
  20. * GCL::            gcl: the Geomview Command Language.
  21. * Mathematica::        Mathematica Graphics in Geomview or RenderMan.
  22. * Installation::    Installing Geomview on your computer.
  23.  
  24. * Function Index::    A node for each gcl function.
  25.  
  26. 
  27. File: geomview  Node: What, Prev: Top, Up: Top, Next: Authors
  28.  
  29. What Is Geomview?
  30. *****************
  31.  
  32. Geomview is an interactive program for viewing and manipulating
  33. geometric objects, written by staff members of the Geometry Center.  It
  34. can be used as a standalone viewer for static objects or as a display
  35. engine for other programs which produce dynamically changing geometry.
  36. It runs on Silicon Graphics (SGI) IRIS workstatons and NeXT
  37. workstations, and on a variety of systems using generic X graphics and
  38. Motif interface.  This manual describes SGI Geomview version 1.6.1.
  39.  
  40. Geomview and this manual are available for free via anonymous ftp on the
  41. Internet from host `geom.umn.edu' (IP address 128.101.25.35).
  42. Permission is granted to make copies of this manual.
  43.  
  44. If you have questions or comments about Geomview or this manual, you can
  45. email them to `software@geom.umn.edu'.  We are always glad to hear from
  46. users.  There is also a `geomview-users' mailing list for announcements
  47. regarding Geomview and for Geomview users to communicate with each
  48. other.  If you use Geomview please send an email note to
  49. `geomview-users-request@geom.umn.edu' requesting to be added to this
  50. mailing list.
  51.  
  52. 
  53. File: geomview  Node: Authors, Prev: What, Up: What, Next: Register
  54.  
  55. Authors
  56. =======
  57.  
  58. Tamara Munzner, Stuart Levy, and Mark Phillips are the original authors
  59. of Geomview. Celeste Fowler, Charlie Gunn, and Nathaniel Thurston also
  60. made significant contributions.  Daniel Krech and Scott Wisdom did the
  61. NeXTStep and RenderMan port, and Daeron Meyer and Tim Rowley did the
  62. port to X windows.
  63.  
  64. Mark Phillips wrote this manual, with substantial help from Stuart Levy
  65. and Tamara Munzner.  Countless Geomview users have also been of great
  66. help by reading it and pointing out mistakes.
  67.  
  68. 
  69. File: geomview  Node: Register, Prev: Authors, Up: Top, Next: Overview
  70.  
  71. Let Us Hear From You
  72. ********************
  73. We are very interested in hearing about how you are using Geomview.
  74. Think of Geometry Center software as a new kind of shareware: you share
  75. your science and successes with us, and we share our software and
  76. support with you.  The Geometry Center is funded by the National Science
  77. Foundation, and it is important that we be able to report to NSF the
  78. ways in which our software is being used.
  79.  
  80. If you use Geomview, please send us a letter telling us what you are
  81. doing with it. We need to know:
  82.  
  83.   1. What you are working on - an abstract of your work would be fine.
  84.  
  85.   2. How Geomview has helped you, for example, by increasing your
  86.      productivity or allowing you to do things you could not do before.  In
  87.      particular, if you feel that Geomview has had a direct bearing on your
  88.      work, please tell us about this.
  89.  
  90. Please send the letter either via email to `register@geom.umn.edu',
  91. or via regular mail to the address below.
  92.  
  93. Moreover, if you use Geomview or other Geometry Center software in your
  94. work, we encourage you to cite its use in your publications.
  95.  
  96. Thank you!
  97.  
  98.  
  99.  
  100.      Software Development Group
  101.      Geometry Center
  102.      1300 South 2nd St, Suite 500
  103.      Minneapolis, MN  55454
  104.      USA
  105.  
  106.  
  107. 
  108. File: geomview  Node: Overview, Prev: Register, Up: Top, Next: Tutorial
  109.  
  110. Overview
  111. ********
  112.  
  113. Geomview's main purpose is to display objects whose geometry is given,
  114. allowing interactive control over details such as point of view, speed
  115. of movement, appearance of surfaces and lines, and so on.  Geomview can
  116. handle any number of objects and allows both separate and collective
  117. control over them.  
  118.  
  119. The simplest way to use Geomview is as a standalone viewer to see
  120. and manipulate objects.  It can display objects described in a variety
  121. of file formats.  It comes with a wide variety of example objects, and
  122. you can create your own objects.
  123.  
  124. You can also use Geomview to handle the display of data coming from
  125. another program that is running simultaneously.  As the other program
  126. changes the data, the Geomview image reflects the changes.  Programs
  127. that generate objects and use Geomview to display them are called
  128. *external modules*.  External modules can control almost all
  129. aspects of Geomview.  The idea here is that many aspects of the display
  130. and interaction parts of geometry software are independent of the
  131. geometric content and can be collected together in a single piece of
  132. software that can be used in a wide variety of situations.  The author
  133. of the external module can then concentrate on implementing the desired
  134. algorithms and leave the display aspects to Geomview.  Geomview comes
  135. with a collection of sample external modules, and this manual describes
  136. how to write your own.
  137.  
  138. Geomview represents the current state of an ongoing effort at the
  139. Geometry Center to provide interactive geometry software that is
  140. particularly appropriate for mathematics research and education.  In
  141. particular, Geomview can display things in hyperbolic and spherical
  142. space as well as Euclidean space.
  143.  
  144. Geomview allows multiple independently controllable objects and
  145. cameras.  It provides interactive control for motion, appearances
  146. (including lighting, shading, and materials), picking on an object,
  147. edge or vertex level, snapshots in SGI image file or Renderman RIB
  148. format, and adding or deleting objects is provided through direct
  149. mouse manipulation, control panels, and keyboard shortcuts.
  150.  
  151. Geomview supports the following simple data types: polyhedra with
  152. shared vertices (.off), quadrilaterals, rectangular meshes, vectors,
  153. and Bezier surface patches of arbitrary degree including rational
  154. patches. Object hierarchies can be constructed with lists of objects
  155. and instances of object(s) transformed by one or many 4x4 matrices.
  156. Arbitrary portions of changing hierarchies may be transmitted by
  157. creating named references.
  158.  
  159. Geomview can display 3-D graphics output from Mathematica and Maple.
  160.  
  161. 
  162. File: geomview  Node: Tutorial, Prev: Overview, Up: Top, Next: Interaction
  163.  
  164. Tutorial
  165. ********
  166.  
  167. This chapter leads you through some of the basics of using Geomview.
  168. Work through this chapter in front of a workstation where you can try
  169. out the examples given here to get a feel for what you can do with
  170. Geomview.
  171.  
  172. To start Geomview, login to the computer and get a shell window.  A
  173. shell window is a window in which you can type unix commands; the prompt
  174. in the window usually ends with a '%'.  In the shell window (the mouse
  175. cursor must be in the window) type the following (`RET' here
  176. means hit the "Enter" key):
  177.  
  178.      geomview tetra dodec RET
  179.  
  180. This command starts up Geomview and loads two example objects, a
  181. tetrahedron and a dodecahedron.  After a few seconds three windows
  182. should appear as shown in Figure 1.
  183. (The figures in this document appear only in the hardcopy version,
  184. not the Info version.)
  185.  
  186. The panel on the left is Geomview's main control panel; it's called
  187. the *Main* panel.  The skinny panel in the middle is the
  188. *Tools* panel and is for selecting different kinds of motions.
  189. The window on the right is the camera window and in it you see a
  190. large tetrahedron and a dodecahedron which is partially obscured
  191. by the tetrahedron.
  192.  
  193. Geomview has lots of panels but by default it displays only these three.
  194. We'll describe some aspects of these and a couple of the others in this
  195. tutorial.  You can read more about these and other panels in the later
  196. chapters of this manual.
  197.  
  198. Put the mouse cursor in the camera window and press down and hold the
  199. left mouse button.  Now, while holding down the button, slowly move the
  200. mouse around.  You should see the picture rotate in the direction you
  201. move the mouse.    If you lift up on the mouse button while moving the
  202. mouse, the picture continues rotating.  To stop it, hold the mouse very
  203. still and click down and up on the left mouse button.
  204.  
  205. Geomview uses the *glass sphere* model for mouse-based motion.  This
  206. means you are supposed to think of the object as being inside an
  207. invisible sphere and the mouse cursor is a gripper outside the sphere.
  208. When you hold down the left mouse button, the gripper grabs the
  209. sphere; when you let go of the button, the gripper releases the
  210. sphere.  Moving the mouse while holding the button down causes the
  211. sphere (and hence the object) to move in the same direction as the
  212. mouse.
  213.  
  214. In addition to the two solids you should also see two wireframe
  215. boxes in the camera window.  These are the "bounding boxes" of the two
  216. objects.  By default Geomview puts a bounding box around each object
  217. that it displays so that you have an idea of how large it is.
  218.  
  219. Notice that as you move the mouse around the tetrahedron and
  220. dodecahedron move as a unit.  That is because by default what you are
  221. actually moving is the "World".  To move an individual object instead of
  222. the whole world, move the mouse cursor to the *Targets* browser in
  223. the *Main* panel.  Click (any button) on the word *tetra*.
  224. This makes the tetrahedron be the "target object".  Now move the cursor
  225. back to the camera window and you can rotate just the tetrahedron.
  226.  
  227. The motion that you have been applying up to now has been rotation,
  228. because that is the motion mode that is selected in the *Tools*
  229. panel.  To translate instead, click on the *Translate* button.
  230. Now when you move the mouse in the camera window while holding down the
  231. left button, the tetrahedron (which should still be the target object
  232. from before) will translate in the direction you move the mouse.  Notice
  233. that you can translate it beyond the edge of the window as long as you
  234. keep holding the left mouse button down.  If you lift up on the mouse
  235. button while moving the mouse, the tetrahedron will keep going.  It
  236. moves rather rapidly so it is very easy to lose track of where it is.
  237.  
  238. If you accidentally lose the tetrahedron by translating it too far out
  239. of the view of the window, you can get it back by clicking on the
  240. *Center* button in the *Tools* panel.  This causes it to
  241. come back to its initial position.
  242.  
  243. Click on the *Center* button to bring the tetrahedron home, and
  244. then translate it off to one side so that you can completely see the
  245. dodecahedron.
  246.  
  247. Your world now has two objects in it that are beside each other.  You
  248. should see the dodecahedron in the middle of the window and maybe part
  249. of the tetrahedron off to one side.  Go back to the *Targets*
  250. browser in the *Main* panel and click on "World" to select the
  251. whole world again.  Now click on the *Look At* button in the
  252. *Tools* panel.  You should see something like Figure 2 --- the
  253. dodecahedron and the tetrahedron in the middle of the window next
  254. to each other.  The *Look At* button positions the camera in
  255. such a way that the target object is centered in the window.
  256.  
  257. Now put the cursor over the middle of the dodecahedron and double-click
  258. the right mouse button.  This means click it down-and-up two times in
  259. rapid succession.  Notice that the dodecahedron becomes the target
  260. object; you can see this in the *Targets* browser in the
  261. *Main* panel.  Double-clicking the right mouse button on an object
  262. is another way to make it the target object.
  263.  
  264. Go to the *Inspect* menu at the top of the *Main* panel and select
  265. *Appearance*.  This brings up the *Appearance*
  266. panel.  When it appears, if it partially obscures another Geomview window
  267. you can move it off to one side by dragging its frame with the middle
  268. mouse button down.
  269.  
  270. The *Appearance* panel lets you control various things about the
  271. way Geomview draws objects.  Note the buttons labeled *[af] Faces* and
  272. *[ae] Edges*.  Click on the *[ae] Edges* one, and notice
  273. that Geomview is now drawing the edges of the dodecahedron.  Click on it
  274. again and the edges go away.  Click several times and watch the edges
  275. come and go.  When you've had enough of this, leave the edges on
  276. and click the *[af] Faces* button.  This toggles the faces
  277. on and off.  Click the button again to turn them back on.
  278.  
  279. Now click on the *[Cf] Faces* button under the word
  280. *COLOR*.   A color chooser panel like the one in Figure
  281. 4 should appear.
  282.  
  283. Put the cursor in the color hexagon in this panel and hold down the left
  284. mouse button.  Slowly move the mouse around.  This drags the little
  285. black point around to choose a new color for the dodecahedron.
  286.  
  287. Note the three sliders, *H*, *S*, and *V*,
  288. controlling the color's hue, saturation, and value (lightness).
  289. Clicking the *HSV* button gives a different set of sliders,
  290. one each for red, green, and blue.
  291. Numerical values for both RGB and HSV color systems
  292. can be seen or edited at the bottom of the panel.
  293. The dodecahedron's previous colors were specified in the file
  294. `dodec' that you loaded when we started Geomview.  The color that
  295. you specify with the color
  296. panel overrides the old colors.  You can adjust the intensity of the
  297. color with the *Intensity* slider.  When you find a color that
  298. you like, click the *Done* button.  
  299.  
  300. Now put the cursor somewhere over the gray background and double-click
  301. the right mouse button; this picks "World" as the target object.
  302. Click the *Look At* button to look at the world again.
  303.  
  304. Notice that in the *Appearance* panel the settings of the buttons
  305. have changed from the way you left them with the dodecahedron.  That's
  306. because the *Appearance* panel always displays the settings for
  307. the target object, which is now the world, which still has its
  308. default settings.
  309.  
  310. Click on the *[ab] BBox* button under the word *Draw*.
  311. The bounding boxes go away.  Now put the cursor back in the camera
  312. window.  At the keyboard, type the keys `a b'.  Notice that the
  313. bounding boxes come back.  `a b' is the keyboard shortcut for
  314. the bounding box toggle button; the string "[ab]" appears on the
  315. button to indicate this.  Most of Geomview's buttons have keyboard
  316. shortcuts that you can use instead if you want.  This is useful once
  317. you are familiar with Geomview and don't want to have to move around
  318. among lots of panels.
  319.  
  320. Now select the tetrahedron, either by double-clicking the right mouse
  321. button on it, or by selecting "tetra" in the *Targets* browser.
  322. Then click on the *Delete* button in the *Main* panel.  The
  323. tetrahedron should disappear.  This is how you get rid of an object.
  324.  
  325. You can also load objects from within Geomview.  Click on the *File*
  326. menu in the *Main* panel and choose *Open*.
  327. The *Files* panel will appear.
  328. Below the middle of this panel is a browser with three lines in it; the
  329. second line is a directory with lots of Geomview example files
  330. in it.  Click on that second line.  Your *Files* panel should
  331. then look something like Figure 5.  Scroll down in the list of files
  332. until you see `tref.off'.  Click on that line, and then click
  333. on the *Add* button.  A large trefoil-shaped tube will appear
  334. in your window.  Click the *Done* button in the *Files*
  335. panel to dismiss the panel.
  336.  
  337.  
  338. Now click on the *Reset* button in the *Tools* panel.  This
  339. causes everything to return to its home position.  You should see
  340. something like Figure 6 at this point: a dodecahedron and a
  341. trefoil knot.
  342.  
  343. Play around with the trefoil knot and the dodecahedron.  Experiment with
  344. some of the other buttons in the *Tools* panel.  Try coloring the
  345. trefoil knot with the *Appearance* panel.
  346.  
  347. For a tutorial on how to create your own objects to load into Geomview,
  348. see file `doc/oogltour' distributed with Geomview
  349. (`/u/gcg/ngrap/doc/oogltour' on the Geometry Center system).  The
  350. things in that file will be incorporated into a future version of this
  351. manual.
  352.  
  353.  
  354. 
  355. File: geomview  Node: Interaction, Prev: Tutorial, Up: Top, Next: Starting Geomview
  356.  
  357. Interaction
  358. ***********
  359.  
  360. This chapter describes how you interact with Geomview through the
  361. mouse and keyboard.
  362.  
  363. * Menu:
  364.  
  365. * Starting Geomview::      Starting Geomview.
  366. * Command Line Options::   Command Line Options.
  367. * Basic Interaction::      Basic Interaction: The Main Panel.
  368. * Loading::                Loading Objects Into Geomview.
  369. * Mouse Motions::          Using the Mouse to Manipulate Objects.
  370. * Appearance::             Changing the Way Things Look.
  371. * Cameras::                Cameras.
  372. * Saving::                 Saving your work.
  373. * Commands::               The Commands Panel.
  374. * Keyboard Shortcuts::     Keyboard Shortcuts.
  375.  
  376. 
  377. File: geomview  Node: Starting Geomview, Prev: Interaction, Up: Interaction, Next: Command Line Options
  378.  
  379. Starting Geomview
  380. =================
  381.  
  382. The usual way to start Geomview is to type `geomview RET' in a shell
  383. window (RET means hit the "Enter" key).  It may take Geomview a few
  384. seconds to start up; one or more windows will appear and you can begin
  385. interacting with Geomview immediately.
  386.  
  387. It is also possible to specify actions for Geomview to perform at
  388. startup time by giving arguments in the shell command line.
  389. *Note Command Line Options::.
  390.  
  391.  
  392. 
  393. File: geomview  Node: Command Line Options, Prev: Starting Geomview, Up: Interaction, Next: Basic Interaction
  394.  
  395. Command Line Options
  396. ====================
  397.  
  398. Here are the command line options that Geomview allows:
  399.  
  400. `-b R G B'
  401.      Set the window background color to the given R G B
  402.      values.
  403.  
  404. `-c FILE'
  405.      Interpret the gcl commands in FILE, which may be the special
  406.      symbol `-' for standard input.  For a description of gcl,
  407.      *Note GCL::.
  408.  
  409. `-c COMMAND'
  410.      Commands may also be supplied literally, as in
  411.           -c "(ui-panel main off)"
  412.      Since COMMAND includes parentheses, which have special meaning to
  413.      the shell, COMMAND must be quoted.  Multiple -C options are allowed.
  414.  
  415. `-wins NWINS'
  416.      Causes Geomview to initially display NWINS camera windows.
  417.  
  418. `-wpos WIDTH,HEIGHT[@XMIN,YMIN]'
  419.      Specifies the initial location and size of the first camera window.  The
  420.      values for WIDTH, HEIGHT, XMIN, and YMIN are in
  421.      screen (pixel) coordinates.
  422.  
  423. `-M OBJECTNAME'
  424.      Display (possibly dynamically changing) geometry sent from the
  425.      programs `geomstuff' or `togeomview'.  This actually listens to the
  426.      named pipe `/tmp/geomview/objectname'; you can achieve the same
  427.      effect with the shell commands:
  428.           mkdir /tmp/geomview
  429.           mknod /tmp/geomview/objectname p
  430.      (assuming the directory and named pipe don't already exist), then
  431.      executing the gcl command:
  432.      `(geometry objectname  < /tmp/geomview/objectname)'
  433.  
  434. `-Mc PIPENAME'
  435.      Like `-M' above, but expects gcl commands, rather than OOGL
  436.      geometry data, on the connection.
  437.  
  438. `-nopanels'
  439.      Start up displaying no panels, only graphics windows.  Panels may be
  440.      invoked later as usual with the `Px' keyboard shortcuts or with
  441.      the `ui-panel' command.
  442.  
  443. `-e MODULE'
  444.      Start an external module; MODULE is the name associated with the
  445.      module, appearing in the main panel's Applications browser, as defined
  446.      by the `emodule-define' command.
  447.  
  448. `-start MODULE ARGS ...'
  449.      Like -e but allows you to pass arguments to the external module.  "--"
  450.      signals the end of the argument list; the "--" may be omitted if it
  451.      would be the last argument on the Geomview command line.
  452.  
  453. `-run SHELL-COMMAND ARGS ...'
  454.      Like -start but takes the pathname of executable of the external module
  455.      instead of the module's name.  The pathnames of all known module directories
  456.      are appended to the UNIX search path when invoking SHELL-COMMAND.
  457.  
  458.  
  459. 
  460. File: geomview  Node: Basic Interaction, Prev: Command Line Options, Up: Interaction, Next: Loading
  461.  
  462. Basic Interaction: The Main Panel
  463. =================================
  464.  
  465. Normally when you invoke Geomview, three windows appear: the
  466. *Main* panel, the *Tools* panel, and one camera window.
  467. Geomview has many other windows but most things can be done with these
  468. three and so by default the others do not appear.  This section of the
  469. manual introduces some basic concepts that are used throughout the rest
  470. of the manual and describes the *Main* panel.
  471.  
  472.  
  473. Geomview can display an arbitrary number of objects simultaneously.  The
  474. *Targets* browser in the *Main* panel displays a list of all
  475. the objects that Geomview currently knows about.  This browser has a
  476. line for each object that you have loaded, plus some lines for other
  477. objects.  One of the other objects is called `World' and corresponds to
  478. the all the currently loaded objects, treated as if they were one
  479. object.  Most of the operations that you can do to one object, such as
  480. applying a motion or changing a color, can also be done to the "World"
  481. object.
  482.  
  483. The *Targets* browser also has an entry for each camera.  By
  484. default there is only one camera; it is possible to add more of them via
  485. the *New Camera* entry of the *Main* panel's *File* menu.
  486. Geomview treats cameras in much the same way
  487. as it does geometric objects.  For example, you can move cameras around
  488. and add them and delete them just as with geometric objects.  Cameras do
  489. not usually show up in the display as an object that you see.  Each
  490. camera has a separate camera window which displays the view as seen by
  491. that camera.  (It is possible for each camera to display a geometric
  492. representation of other cameras.  *Note Cameras::.)
  493.  
  494. Because Geomview treats cameras and geometric objects very similarly,
  495. the term "object" in this documentation is used to refer to either
  496. one.  When we need to distinguish between the two kinds of objects, we
  497. use the term "geom" to denote a geometric object and the word
  498. "camera" to denote a camera.
  499.  
  500. The object which is selected (highlighted) in the *Targets*
  501. browser is called the "target" object.  This is the object that
  502. receives any actions that you do with the mouse or keyboard.  You can
  503. change the target object by selecting a different line in the
  504. *Targets* browser.  Another way to change the target object is
  505. to put the mouse cursor directly over a geom in a camera window
  506. and rapidly double-click the right mouse button.  This process is called
  507. "picking"; the picked object becomes the new target.
  508.  
  509. Geomview objects are all known by two names, both of which are shown in
  510. the *Targets* browser.  The first name given there, which appears
  511. in square brackets ([ ]), is a short name assigned by Geomview when you
  512. load the object.  It consists of the letter `g' for geoms and `c' for
  513. cameras, followed by a number.  The second name is a longer more
  514. descriptive name; by default this is the name of the file that the
  515. object was loaded from.  The two names are equivalent as far as Geomview
  516. is concerned; at any point where you need to specify a name you can give
  517. either one.
  518.  
  519. To manipulate an object, make sure you that the object you want to move is the
  520. target object, and put the mouse cursor in a camera window.  Motions are
  521. applied by holding down either the left or middle mouse button and
  522. moving the mouse.  There are several different motion "modes", each for
  523. applying a different kind of motion.  The *MOTION MODE* browser
  524. in the *Main* panel indicates the current motion mode.  The
  525. default is "Rotate".  You can change the current motion mode by
  526. selecting a new one in the *MOTION MODE* browser, or by using the
  527. *Tools* panel.  For more information about motion modes,
  528. *Note Mouse Motions::.
  529.  
  530. The *Modules* browser lists Geomview external modules.  An
  531. external module is a separate program that interacts with Geomview to
  532. extend its functionality.  For information on external modules,
  533. *Note Modules::.
  534.  
  535. The *Load* button on the *Main* panel brings up the
  536. *Files* panel for loading a file.  The file can contain either a
  537. geom, a camera, or gcl commands.  For details, *Note Loading::.
  538.  
  539. The *Delete* button causes the target
  540. object to be deleted.  Geomview selects another object to be the new
  541. target.  You can delete cameras as well as geoms in this way.  If you
  542. hit the *Delete* button while the target object is "World",
  543. Geomview deletes all geoms.
  544.  
  545. The three buttons at the bottom of the *Main* panel, labeled
  546. *Euclidean*, *Hyperbolic*, and *Spherical*, allow
  547. you to change the geometry of the space that Geomview displays.  By
  548. default *Euclidean* is selected.  For details about using
  549. *Hyperbolic* and *Spherical* spaces, *Note Non-Euclidean Geometry::.
  550.  
  551. The menu bar at the top of the main panel offers menus for common operations.
  552.  
  553. To create new windows, load new objects, save objects or other information,
  554. or quit from geomview, see the *File* menu.  
  555.  
  556. To copy or delete objects, see the *Edit* menu.
  557.  
  558. You can invoke any panel from the *Inspect* menu.
  559.  
  560. The *Space* menu lets you choose whether geomview operates
  561. in Euclidean, Hyperbolic, or Spherical mode.  Euclidean mode is selected
  562. by default.  For details about using *Hyperbolic* and
  563. *Spherical* spaces, *Note Non-Euclidean Geometry::.
  564.  
  565. Most actions that you can do through Geomview's panels have equivalent
  566. keyboard shortcuts so that you can do the same action by typing a
  567. sequence of keys on the keyboard.  This is useful for advanced users who
  568. are familiar with Geomview's capabilities and want to work quickly
  569. without having to have lots of panels cluttering up the screen.
  570. Keyboard shortcuts are usually indicated in square brackets ([ ]) near
  571. the corresponding item in a panel.  For example, the keyboard shortcut
  572. for *Rotate* mode is 'r'; this is indicated by "[r]" appearing
  573. before the word "Rotate" in the *MOTION MODE* browser.  To
  574. use this keyboard shortcut, just hit the `r' key while the mouse
  575. cursor is in any Geomview window.  Do not hit the `RET' key
  576. afterwards.
  577.  
  578. Some keyboard shortcuts consist of more than one key.  In these cases
  579. just type the keys one after the other, with no `RET'
  580. afterwards.  Keyboard shortcuts are case sensitive.
  581.  
  582. Many keyboard shortcuts can be preceded by a numeric parameter.
  583. For example, typing `ae' toggles the state of drawing edges,
  584. while `1ae' always enables edge drawing.
  585.  
  586. The *keyboard* field in the upper left corner of the *Main*
  587. panel echos the current state of keyboard shortcuts.
  588.  
  589. The button labeled *?* near the top right corner of the
  590. *Main* panel causes Geomview to print out a list of all keyboard
  591. shortcuts to standard output.
  592.  
  593. The *Quit* button on the main panel terminates Geomview.
  594. For a list of all keyboard shortcuts, press the *`?'* key.
  595.  
  596.  
  597. 
  598. File: geomview  Node: Loading, Prev: Basic Interaction, Up: Interaction, Next: Mouse Motions
  599.  
  600. Loading Objects Into Geomview
  601. =============================
  602.  
  603. There are several ways to load an object into Geomview.
  604.  
  605. the *Files* panel
  606.      If you click the *Load* button in Geomview's *Main* panel,
  607.      the *Files* panel will appear. 
  608.  
  609.      This panel lets you select a file from a variety of directories.
  610.      The top of the panel is a standard Motif file browser.  Below this is
  611.      a list of directories on geomview's standard search path; click on one
  612.      of these to browse files in that directory.
  613.  
  614.      To select a file, double-click on its name in the browser at upper right,
  615.      or click on its name and press the `Return' key, or type the file's name
  616.      into the text box at the bottom of the browser and press `Return'.
  617.  
  618.  
  619.      If the selected file contains OOGL geometric data, it will be added
  620.      to the geomview *Targets* browser.  If it contains GCL
  621.      commands instead, the file will be interpreted.  *Note GCL::.
  622.  
  623.      When the *Files* panel first appears, the directory selected in the
  624.      directory browser is the current directory --- the one from which you
  625.      invoked Geomview.  The file browser shows *all* the files in this
  626.      directory, including ones that are not Geomview files.  If you try to
  627.      load a file that doesn't contain either an OOGL object or Geomview
  628.      commands, Geomview will print out an error message.
  629.  
  630.      The directory browser also lists a second and third directory in
  631.      addition to the current directory.  The second one, which ends in
  632.      `data/geom', is the Geomview example data directory.  This contains
  633.      a wide variety of sample objects.  It also contains several
  634.      subdirectories.  In particular, the `hyperbolic' and
  635.      `spherical' subdirectories have sample hyperbolic and spherical
  636.      objects, respectively.  Directory entries in the browser look just like
  637.      file entries; to view a subdirectory, click on it.
  638.  
  639.      The third directory shown in the directory browser, which ends in
  640.      `geom', contains several subdirectories with other Geomview files
  641.      in them.  These are used less frequently than the ones in the
  642.      `data/geom' directory.
  643.  
  644.      You can change the list of directories shown the *Files*
  645.      panel's directory browser by using the `set-load-path' command;
  646.      *Note GCL::.
  647.  
  648. the `<' keyboard shortcut:
  649.      If you type `<' in any Geomview window, the *Load* panel will
  650.      appear.  This is a small version of the *Files* panel; it contains
  651.      a text field in which you can enter the name of a file to load (or a
  652.      GCL command surrounded by parentheses).  After typing the name of the file
  653.      to load, type `RET'; Geomview will
  654.      load the file as if you had loaded it with the *Add* button in
  655.      the *Files* panel.  If, after bringing up the small load panel
  656.      with `<', you decide you want to use the larger *Files* panel
  657.      after all, press the *File Browser* button.
  658.  
  659. geometry loading commands:
  660.      The `load', `geometry', `new-geometry', and `read' gcl commands
  661.      allow you to load an object into Geomview; *Note GCL::.
  662.  
  663.  
  664. 
  665. File: geomview  Node: Mouse Motions, Prev: Loading, Up: Interaction, Next: Point of Interest
  666.  
  667. Using the Mouse to Manipulate Objects
  668. =====================================
  669.  
  670. Geomview lets you manipulate objects with the mouse.  There are six
  671. different mouse motion modes: *Rotate*, *Translate*, *Cam Fly*, *Cam
  672. Zoom*, *Geom Scale*, and *Cam Orbit*.  The tools panel has a button for
  673. each of these modes; to switch modes, click on the corresponding button.
  674. You can also select these through the *Motion Mode* browser on the
  675. *Main* panel.
  676.  
  677. This section describes basic mouse interaction.  For details,
  678. *Note Commands::.
  679.  
  680.  
  681. Each of the motion modes uses a common paradigm for how the motion is
  682. applied.  In particular, each depends on the current *target*
  683. object and the current *center* object.  These are explained in the
  684. following paragraphs.
  685.  
  686. The current target object is shown in the *Target* field in the
  687. *Tools* panel.  This is the same as the selected object in the
  688. *Targets* browser in the *Main* panel, and you can
  689. change it by either selecting a new object in the browser, by typing
  690. a new entry in the field, or by picking an object in a camera
  691. window by double-clicking the right mouse button with the cursor over
  692. the object.
  693.  
  694. The current center object is shown in the *Center* field in the
  695. *Tools* panel.  Its default value is the special word "target",
  696. which means that the center object is whatever the target object is.
  697. You can change the center to any object by typing it in the *Center*
  698. field.  The origin of the center object is held fixed in *Rotate* and
  699. *Orbit* modes.  Normally the center object is one of the existing
  700. geoms listed in the *Targets* browser, and the actual center of
  701. rotations is the origin of that object's coordinate system.
  702. It is possible, however, to select an arbitrary point of interest on
  703. an object as the center. For details, *Note Point of Interest::.
  704.  
  705. You apply a mouse motion by holding down either the left or middle mouse
  706. button with the cursor in a camera window and moving the mouse.  Most of
  707. the modes have *inertia*, which means that if you let go of the
  708. button while moving the mouse, the motion will continue.  It may be
  709. helpful to imagine the mouse cursor as being a gripper; when you hold a
  710. mouse button down, it grips the target object and you can move it.  When
  711. you let go of the mouse button, the gripper releases the object.
  712. Letting go of the mouse button while moving the mouse is like throwing
  713. the object --- the object continues moving independent of the mouse.
  714. Inertia can be turned off; see the *Main* panel's *Motion* menu,
  715. described below.
  716.  
  717. Generally, the left mouse button controls motion in the screen plane,
  718. while the middle mouse controls motion along or around the forward direction.
  719.  
  720. Pressing the shift key while dragging with left or middle mouse buttons
  721. in most motion modes gives slow-speed motions, useful for fine adjustment.
  722.  
  723. You can pick any point on an object (not just its origin) as the center of
  724. motion by holding down the shift key while clicking the right mouse button;
  725. this chooses a point of interest.
  726.  
  727.  
  728. *Rotate*
  729.      In *Rotate* mode, hold the left mouse button down to rotate the
  730.      target object about the center object.  Rotation proceeds in the
  731.      direction that you move the mouse.  Specifically, the axis of rotation
  732.      passes through the origin of the center object, is parallel to the
  733.      camera view plane, and is perpendicular to the direction of motion of
  734.      the mouse.  When the center is "target", this means that the target
  735.      object rotates about its own origin.
  736.  
  737.      The middle mouse button in *Rotate* mode rotates the target
  738.      object about an axis perpendicular to the view plane.
  739.  
  740. *Translate*
  741.      In *Translate* mode, hold the left mouse button down to translate
  742.      the target object in the direction of mouse motion.  The middle mouse
  743.      button translates the target along an axis perpendicular to the view
  744.      plane.
  745.  
  746.      In Euclidean space, the center object is essentially irrelevant for
  747.      translations.  In hyperbolic and spherical spaces, where translations
  748.      have a unique axis, this axis is chosen to go through the origin of the
  749.      center object.
  750.  
  751. *Cam Fly*
  752.      *Cam Fly* is a crude flight simulator that lets you fly around
  753.      the scene.  It works by moving the camera.
  754.      Move the mouse while holding the left mouse button down to
  755.      point the camera in a different direction.  To move forward or backward,
  756.      hold down the middle button and move the mouse vertically.  Both of
  757.      these motions have inertia; typically the easiest way to fly around a
  758.      scene is to give the camera a slight forward push by letting go of the
  759.      middle button while moving the mouse upward, and then using the left
  760.      button to steer.
  761.  
  762.      *Cam Fly* affects the camera window that the mouse is in; it
  763.      ignores the target object and the center object.
  764.  
  765. *Cam Orbit*
  766.      *Cam Orbit* mode lets you rotate the current camera around the
  767.      current center. The left mouse button does this rotation.  The middle
  768.      mouse button in *Cam Orbit* mode acts as in
  769.      *Cam Fly* mode: it moves the camera forward or backward.
  770.  
  771.      In general *Cam Orbit* does not move the target object, although
  772.      if the current camera is selected as the target and the center is also
  773.      the target, it will pivot that camera about itself just as in
  774.      *Cam Fly* mode.
  775.  
  776. *Cam Zoom*
  777.      *Cam Zoom* mode lets you change the current camera's field of
  778.      view with the mouse; hold the left mouse button down and move the mouse
  779.      to change it.  The numeric value of the field of view is shown in the
  780.      *FOV* field in the *Camera* panel.
  781.  
  782. *Geom Scale*
  783.      *Geom Scale* mode lets you enlarge or shrink a geom.  It operates
  784.      on the target object if that object is a geom.  If the target is a
  785.      camera, *Geom Scale* operates on the geom that was most recently
  786.      the target object.  Moving the mouse while holding down the left mouse button
  787.      scales the object either up or down, depending on the direction of
  788.      mouse motion.  The center of the applied scaling transformation is the
  789.      center object.
  790.  
  791.      Scaling is meaningful only in Euclidean space; attempts to scale are
  792.      ignored in other spaces.
  793.  
  794.      *Geom Scale* mode does not have inertia.
  795.  
  796.  
  797. The *Stop*, *Look At*, *Center*, and *Reset*
  798. buttons on the *Tools* panel perform actions related to motions
  799. but do not change the current motion mode.
  800.  
  801.  
  802.  
  803. *Stop*
  804.      The *Stop* button causes all motions to stop.  It affects all
  805.      moving objects, not just the target object.  Its keyboard shortcut
  806.      is `H'.
  807.  
  808.      The keyboard command `h', which does not correspond to a
  809.      panel button, stops the current motion for the target object only.
  810.  
  811. *Look At*
  812.      The *Look At* button causes the current camera to be moved
  813.      to a position such that it is looking at the target object, and such
  814.      that the target object more or less fills the window.
  815.  
  816.      The Look At command is unreliable in non-Euclidean spaces.
  817.  
  818. *Center*
  819.      The *Center* button undoes the target object's transformation,
  820.      moving it back to its home position, which is where it was when you
  821.      originally loaded it into Geomview.
  822.  
  823. *Reset*
  824.      The *Reset* button stops all motion and causes all objects to
  825.      move back to their home positions.
  826.  
  827.  
  828. The *Tools* panel also sports a *Main* button, to invoke the
  829. main panel in case it was dismissed or buried, and a *Done* button
  830. to close the *Tools* panel.
  831.  
  832.  
  833. The *Main* panel's *Motion Style* menu has special controls
  834. affecting how mouse motions are interpreted.
  835.  
  836.  
  837. *[ui] Inertia*
  838.      Normally, moving objects have inertia: if the mouse is still moving
  839.      when the button is released, the selected object continues to move.
  840.      When *Inertia* is off, objects cease to move as soon as you release
  841.      the mouse.
  842.  
  843. *[uc] Constrain Motion*
  844.      It's sometimes handy to move an object in a direction aligned with a
  845.      coordinate axis: exactly horizontally or vertically.  Selecting
  846.      *Constrain Motion* changes the interpretation of mouse motions
  847.      to allow this; approximately-horizontal or approximately-vertical mouse dragging
  848.      becomes exactly horizontal or vertical motion.  Note that the motion is
  849.      still along the X or Y axes of the camera in which you move the mouse,
  850.      not necessarily the object's own coordinate system.
  851.  
  852. *[uo] Own Coordinates*
  853.      It's sometimes handy to move objects with respect to the coordinate system
  854.      where they were defined, rather than with respect to some camera's view.  While
  855.      *Own Coordinates* is selected, all motions are interpreted that way:
  856.      dragging the mouse rightward in translate mode moves the object in its own +X
  857.      direction, and so on.  May be especially useful in conjunction with
  858.      the *Constrain Motion* button.
  859.  
  860.  
  861. 
  862. File: geomview  Node: Point of Interest, Prev: Mouse Motions, Up: Mouse Motions, Next: Appearance
  863.  
  864. Selecting a Point of Interest
  865. -----------------------------
  866.  
  867. It is sometimes useful to specify a particular point on some object in a
  868. geomview window as the center point for mouse motions.  You can do this
  869. by shift-clicking the right mouse button (i.e. click it once
  870. while holding down the shift key on the keyboard) with the cursor over
  871. the desired point.  This point then becomes the *point of
  872. interest*.  The point of interest must be on an existing object.
  873.  
  874. Selecting a point of interest simplifies examining a small portion of a
  875. larger object.  Shift-right-click on an interesting point, and select
  876. *Orbit* mode.  Use the middle mouse button to approach, and the
  877. left mouse to orbit the point, examining the region from different
  878. directions.
  879.  
  880. When you have selected a point of interest, the current center object
  881. changes to an object named "CENTER", which is an invisible object
  882. located at the point of interest.  In addition, mouse motions for the
  883. window in which you made the selection are adjusted so that the point of
  884. interest follows the mouse.
  885.  
  886. You can change the point of interest at any time by selecting a new one
  887. by shift-clicking the right mouse button again.  You can cancel
  888. the point of interest altogether by shift-clicking the right
  889. mouse button with the cursor on the background (i.e. not on any object).
  890. This changes the center object back to its default value, "target".
  891.  
  892. The object named "CENTER", which serves as the center object for the
  893. point of interest, is a special kind of geom called an "alien".  It does
  894. not appear in the *Targets* browser.  By default it has no
  895. geometry associated with it and hence is invisible.  You can, however,
  896. explicitly give it some geometry using a GCL command, causing it to
  897. appear.  Use the `geometry' command for this: `(geometry
  898. CENTER GEOMETRY)', where GEOMETRY is any valid geometry.
  899. For example, `(geometry CENTER { < xyz.vect })' causes the file
  900. `xyz.vect', which is one of the standard example files distributed
  901. with geomview, to be used at the geometry for CENTER.
  902.  
  903.  
  904. What happens internally when you select a point of interest is
  905. that the center is set to the object called CENTER, and that object is
  906. positioned at the point of interest.  In addition, in order for mouse
  907. motions to track the point of interest, the current camera's focal
  908. length is set to be the distance from the camera to the point of
  909. interest.  You can accomplish this via GCL with the following commands:
  910.      (if (real-id CENTER) nil (new-alien CENTER {}))
  911.      (ui-center CENTER)
  912.      (transform-set CENTER universe universe translate X Y Z)
  913.      (merge camera CAM-ID { focus D })
  914. where `(X,Y,Z)' are the (universe) coordinates of
  915. the point of interest, and D is the distance from that point to
  916. the current camera, CAM-ID.  The first command above creates the
  917. "alien" CENTER if it does not yet exist.
  918.  
  919. 
  920. File: geomview  Node: Appearance, Prev: Point of Interest, Up: Interaction, Next: Appearance Panel
  921.  
  922. Changing the Way Things Look
  923. ============================
  924.  
  925. Geomview uses a hierarchy of appearances to control the way things look.
  926. An "appearance" is a specification of information about how
  927. something should be drawn.  This can include many things such things as
  928. color, lighting, material properties, and more.  Appearances work in a
  929. hierarchal manner: if a certain appearance property, for example face
  930. color, is not specified in a particular object's appearance, that object
  931. is drawn using that property from the parent appearance.  If both the
  932. parent and the child appearance specify a property, the child's setting
  933. takes precedence unless the parent appearance is set to override.
  934.  
  935. Every geom in Geomview has an appearance associated with it.  There is
  936. also an appearance associated with the "World" geom, which serves as the
  937. parent of each individual geom's appearance.  Finally, there is a
  938. global "base" appearance, which is the parent of the World appearance.
  939.  
  940. The base appearance specifies reasonable values for all appearance
  941. information, and by default none of the other appearances specify
  942. anything, which means they inherit their values from the base
  943. appearance.  This means that by default all objects are drawn using the
  944. base appearance.
  945.  
  946. If you change a certain appearance property for a geom, that property
  947. is used in drawing that geom.  The parent appearance is used for any
  948. properties that you do not explicitly set.
  949.  
  950. Geomview has three panels which let you modify appearances.  
  951.  
  952. * Menu:
  953.  
  954. * Appearance Panel::    Color etc.
  955. * Materials Panel::    Surface Material properites.
  956. * Lighting Panel::    Lighting Parameters.
  957.  
  958. 
  959. File: geomview  Node: Appearance Panel, Prev: Appearance, Up: Appearance, Next: Materials Panel
  960.  
  961. The Appearance Panel
  962. --------------------
  963.  
  964. The *Appearance* panel lets you change most common appearance
  965. properties of the target object.
  966. If the target is an individual geom, then changes you make in the
  967. appearance panel apply to that geom's appearance.  If the target is the
  968. World, then appearance panel changes apply to the World appearance
  969. *and* to all individual geom appearances.  (Users have found that
  970. this is more desirable than having the changes only apply to the World
  971. appearance.)  If the target is a camera, then appearance panel changes
  972. apply to the geom that was most recently the target.
  973.  
  974. The five buttons near the upper right corner under the word
  975. *Draw* control what parts of the target geom are drawn.
  976.  
  977.  
  978. *Faces*
  979.      This button specifies whether faces are drawn.
  980.  
  981. *Edges*
  982.      This button specifies whether edges are drawn.
  983.  
  984. *BBox*
  985.      This button specifies whether the bounding box is drawn.
  986.  
  987. *Vects*
  988.      This button specifies whether VECT objects are drawn.  VECTs are a type
  989.      of OOGL object that represent points and line segments in 3-space;
  990.      they are distinct from edges of other kinds of objects, and it is sometimes
  991.      desirable to have separate control over whether they are drawn.
  992.  
  993. *Normals*
  994.      This button specifies whether surface normal vectors are drawn.
  995.  
  996.  
  997. The four buttons under *Color* labeled *Faces*, *Edges*,
  998. *Normals*, and *BBox* let you specify the color of
  999. the corresponding aspect of the target geom.  Clicking on one
  1000. of them brings up a color chooser panel.
  1001. This panel offers two sets of sliders: H(ue) S(aturation) V(alue), or
  1002. R(ed) G(reen) B(lue), each in the range 0 through 1.  The square
  1003. shows the current color, which is given numerically in both HSV and RGB systems
  1004. in the corresponding text boxes.
  1005.  
  1006. In the HSV color system, hue H runs from red at 0, green at .333, blue at .667,
  1007. and back to red at 1.0.  Saturation gives the fraction of white mixed
  1008. into the color, from 0 for pure gray to 1 for pure color.  Value gives the
  1009. brightness, from 0 for black to 1 for full brightness.
  1010.  
  1011. Pressing the *RGB* or *HSV* button at top center switches
  1012. the sliders to the other color system.  You can adjust colors either via
  1013. the sliders, or by typing in either the RGB or HSV text boxes.
  1014.  
  1015. Click *OK* to accept the color that you have chosen, or
  1016. *Cancel* to retain the previous color setting.
  1017.  
  1018.  
  1019. The *SHADING* browser lets you specify the shading model that
  1020. Geomview uses to paint the target geom.
  1021.  
  1022.  
  1023. *Constant*
  1024.      Every face of the object is drawn with a constant color which does not
  1025.      depend on the location of the face, the camera, or the light sources.
  1026.      If the object does not contain per-face or per-vertex colors, the
  1027.      diffuse color of the object's appearance is used.  If the object
  1028.      contains per-face colors, they are used.  If the object contains
  1029.      per-vertex colors, each face is painted using the color of its first
  1030.      vertex.
  1031.  
  1032. *Flat*
  1033.      Each face of the object is drawn with a color that depends on the
  1034.      relative location of the face, the camera, and the light sources.
  1035.      The color is constant across the face but may change as the face,
  1036.      camera, or lights move.
  1037.  
  1038. *Smooth*
  1039.      Each face of the object is drawn with smoothly interpolated colors based
  1040.      on the normal vectors at each vertex.  If the object does not contain
  1041.      per-vertex normals, this has the same effect as flat shading.  If the
  1042.      object has reasonable per-vertex normals, the effect is to smooth
  1043.      over the edges between the faces.
  1044.  
  1045. *CSmooth*
  1046.      Each face of the object is drawn with exactly the specified color(s),
  1047.      independent of lighting, orientation, and material properties.  If the
  1048.      object is defined with per-vertex colors, the colors are interpolated
  1049.      smoothly across the face; otherwise the effect is the same as in
  1050.      Constant shading style.
  1051.  
  1052.  
  1053. The *Facing Normals* button on the *Appearance* panel
  1054. indicates whether or not Geomview should arrange that normal vectors
  1055. always face the viewer.  If a normal vector points away from the viewer
  1056. the color of the corresponding face or vertex usually is darker than is
  1057. desired.  Geomview can avoid this by using the opposite normal in
  1058. shading calculations.  This is the default.  Using *Facing Normals*
  1059. can give strange flickering dark or light shading effects, though, near
  1060. the horizon of a fairly smooth facetted object.
  1061. Press this button to use the normals given with the object.
  1062.  
  1063.  
  1064. The three text fields in the lower left corner of the *Appearance*
  1065. panel are:
  1066.  
  1067.  
  1068. *Line Width*
  1069.      The width, in pixels, for lines drawn by Geomview.
  1070.  
  1071. *Normal Length*
  1072.      This is actually a scale factor; when normal vectors are drawn, Geomview
  1073.      draws them to have a length that is their natural length times this
  1074.      number.
  1075.  
  1076. *Patch Dicing*
  1077.      Geomview draws Bezier patches by first converting them to meshes.  This
  1078.      parameter specifies the resolution of the mesh: if *Patch Dicing*
  1079.      is N, then an N by N mesh is used to draw each Bezier
  1080.      patch.  if *Patch Dicing* is 1, the resolution reverts to a
  1081.      built-in default value.
  1082.  
  1083.  
  1084. The *Revert* button on the *Appearance* panel undoes all
  1085. settings in the target appearance.  This causes the target geom to
  1086. inherit all its appearance properties from its parent.
  1087.  
  1088. The *Appearance* panel's *Override* button determines whether
  1089. appearance controls should override settings in the objects themselves --
  1090. for example, setting the face color will affect all faces of objects with
  1091. multi-colored facets.  Otherwise, appearance controls only provide settings
  1092. which the objects themselves do not specify.
  1093. By default, *Override* is enabled.  This button applies to all objects,
  1094. and to all appearance-related panels.
  1095.  
  1096. 
  1097. File: geomview  Node: Materials Panel, Prev: Appearance Panel, Up: Appearance, Next: Lighting Panel
  1098.  
  1099. The Materials Panel
  1100. -------------------
  1101.  
  1102. The *Materials* panel controls material properties of surfaces.
  1103. It works with the target object in the same way that the
  1104. *Appearance* panel does.
  1105.  
  1106.  
  1107. *Transparent*
  1108.  
  1109.      This button determines whether transparency is enabled.  Geomview itself
  1110.      does not fully support transparency yet and on some machines it does not
  1111.      work at all.  More specifically, the X, NextStep, and some SGI platforms
  1112.      ignore alpha information entirely, while other SGI platforms use the
  1113.      alpha information but the picture is guaranteed to be incorrect. Use
  1114.      RenderMan if you want real transparency: when transparency is enabled, a
  1115.      RenderMan snapshot will contain the alpha information.
  1116.  
  1117. *Alpha*
  1118.      This slider determines the opacity/transparency when transparency is
  1119.      enabled.  0 means totally transparent, 1 means totally opaque.
  1120.  
  1121. *Diffuse Reflectance*
  1122.      This slider controls the diffuse reflectance of a surface.  This has
  1123.      to do with how much the surface scatters light that it reflects.
  1124.  
  1125. *Shininess*
  1126.      This slider controls how shiny a surface is.   This determines the
  1127.      size of specular highlights on the surface.  Lower values give the
  1128.      surface a duller appearance.
  1129.  
  1130. *Ambient Reflectance*
  1131.      This slider controls how much of the ambient light a surface reflects.
  1132.  
  1133. *Specular Reflectance*
  1134.      This slider controls the specular reflectance of a surface.  This
  1135.      has to do with how directly the surface reflects light rays.  Higher
  1136.      values give brighter specular highlights.
  1137.  
  1138. *Done*
  1139.      This button dismisses the *Materials* panel.
  1140.  
  1141.  
  1142. 
  1143.